home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
PROGRAM
/
DJLSR106.ARJ
/
EXP.S
< prev
next >
Wrap
Text File
|
1991-08-19
|
2KB
|
93 lines
/* This is file EXP.S */
/*
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
**
** Modified O.ROBERT 24, Avenue de Verdun 92170 VANVES, FRANCE
**
** E-mail: roberto@germinal.ibp.fr
**
** This file is distributed under the terms listed in the document
** "copying.dj", available from DJ Delorie at the address above.
** A copy of "copying.dj" should accompany this file; if not, a copy
** should be available from where this file was obtained. This file
** may not be distributed without a verbatim copy of "copying.dj".
**
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**
** or 03-Apr-1991 corrected bug about argument zero to pow
** fyl2x didn't like it
*/
/* History:15,24 */
.data
LCW1:
.word 0
LCW2:
.word 0
.text
LC0:
.double 0d1.0e+00
.globl _pow2
_pow2:
fldl 4(%esp)
Lpow2:
fstcww LCW1
fstcww LCW2
fwait
andw $0xf3ff,LCW2
orw $0x0400,LCW2
fldcww LCW2
fldl %st(0)
frndint
fldcww LCW1
fxch %st(1)
fsub %st(1),%st
f2xm1
faddl LC0
fscale
fstp %st(1)
ret
.globl _exp
_exp:
fldl 4(%esp)
fldl2e
fmulp
jmp Lpow2
.globl _pow10
_pow10:
fldl 4(%esp)
fldl2t
fmulp
jmp Lpow2
.globl _pow
_pow:
fldl 4(%esp)
ftst
fnstsww %ax
sahf
je zero1
fldl 12(%esp)
ftst
fnstsww %ax
sahf
je zero2
fxch %st(1)
fyl2x
jmp Lpow2
zero1:
fstpl 4(%esp)
fldzl
ret
zero2:
fstpl 4(%esp)
fstpl 4(%esp)
fld1l
ret